Various optical readers and scanning systems have been developed for reading barcode symbols appearing on a label or the surface of an article. The barcode symbol itself is a coded pattern of indicia comprised of a series of bars of various widths spaced apart from one another to bound spaces of various widths, the bars and spaces having different light-reflecting characteristics. The readers and scanning systems electro-optically transform the graphic indicia into electrical signals, which are decoded into alpha-numerical characters intended to be descriptive of the article or some characteristic of it. Such characters typically are represented in digital form, and utilized as an input to a data processing system for applications in point-of-sale processing, inventory control and the like. Scanning systems of this general type have been disclosed, for example, in U.S. Pat. Nos. 4,251,798; 4,360,798; 4,369,361; 4,387,297; 4,409,470 and 4,460,120, all assigned to the assignee of the present invention.
One embodiment of such a scanning system, as disclosed in some of the above patents, resides in, inter alia, a hand-held, portable laser scanning head supported by a user. The scanning head is configured to enable the user to aim the head at a target to emit a light beam toward a symbol to be read, the light source is a laser scanner typically in the form of a gas or semiconductor laser element. Use of semiconductor devices as the light source in scanning systems is particularly desirable because of the small size, low cost and low power requirements of semiconductor lasers. The laser beam is optically modified, typically by a lens, to form a beam spot of a certain size at the target distance. Preferably, the beam spot size at the target distance is approximately the same as the minimum width between regions of different light reflectivity, i.e., the bars and spaces of the symbol.
The barcode symbols are formed from bars or elements typically rectangular in shape with a variety of possible widths. The specific arrangement of elements defines the character represented according to a set of rules and definitions specified by the code or "symbology" used. The relative size of the bars and spaces is determined by the type of coding used, as is the actual size of the bars and spaces. The number of characters per inch represented by the barcode symbol is referred to as the density of the symbol. To encode a desired sequence of characters, a collection of element arrangements are concatenated together to form the complete barcode symbol, with each character of the message being represented by its own corresponding group of elements. In some symbologies a unique "start" and "stop" character is used to indicate where the barcode begins and ends. A number of different barcode symbologies exist. These symbologies include UPC/EAN, Code 39, Code 128, Codabar, and Interleaved 2 or 5.
In order to increase the amount of data that can be represented or stored on a given amount of surface area, several new barcode symbologies have recently been developed. One of these new code standards, Code 49, introduces a "two-dimensional" concept by stacking rows of characters vertically instead of extending the bars horizontally. That is, there are several rows of bar and space pattern, instead of only one row. The structure of Code 49 is described in U.S. Pat. No. 4,794,239, which is hereby incorporated by reference.
A one-dimensional single-line scan, as ordinarily provided by hand-held readers, functions by repetitively scanning the light beam in a line or series of lines across the symbol using a scanning component such as a mirror disposed in the light path. The scanning component may either sweep the beam spot across the symbol and trace a scan line across and past the symbol, or scan the field in view of the scanner, or do both.
Scanning systems also include a sensor or photodetector, usually of semiconductor type, which functions to detect light reflected from the symbol. The photo-detector is therefore positioned in the scanner or in an optical path in which it has a field of view which extends across and slightly past the symbol. A portion of the reflected light which is reflected off the symbol is detected and converted into an electrical signal, and electronic circuitry or software decodes the electrical signal into a digital representation of the data represented by the symbol that has been scanned. For example, the analog electrical signal from the photodetector may typically be converted into a pulse width modulated digital signal, with the widths corresponding to the physical widths of the bars and spaces. Such a signal is then decoded according to the specific symbology into a binary representation of the data encoded in the symbol, and to the alphanumeric characters so represented.
The decoding process in known scanning Systems usually works in the following ways. The decoder receives the pulse width modulated digital signal from the scanner, and an algorithm implemented in software attempts to decode the scan. If the start and stop characters and the characters between them in the scan were decoded successfully and completely, the decoding process terminates and an Indicator of a successful read (such as a green light and/or an audible beep) is provided to the user. Otherwise, the decoder receives the next scan, performs another decode attempt on that scan, and so on, until a completely decoded scan is achieved or no more scans are available.
More sophisticated scanning, described in U.S. Pat. No. 5,235,167, assigned to the common assignee, and incorporated herein by reference, carries out selective scanning of 1-D and 2-D barcodes. Preliminary information, such as the barcode type and size, is preliminarily decoded during an aiming mode of operation when a relatively narrow and visible raster pattern is impinged on the target. Based upon the preliminary information, received by the scanner in the form of light reflected from the target, converted to an electrical signal and decoded, an appropriately sized raster scan pattern is generated. If the barcode pattern is found to be skewed or misaligned with respect to the direction of the raster scanning pattern, the pattern is generated with an orientation in alignment with the barcode.
Aligning the scan pattern to the barcode is awkward, especially for long range scanning. If a barcode is not horizontally positioned on, for example, a container, the user is forced to position the scanner sideways in order to scan the barcode. One possible solution, described in the aforementioned U.S. Pat. No. 5,235,167, is to control the scanner to self-orient the scan pattern to the orientation of the barcode.
Scanning 2-D, or PDF, barcodes with a raster pattern also presents a similar problem. At certain distances, the visibility of a 2-D raster pattern is poorer than that of a single line, and orienting the barcode with the scan lines is not effortless. Assuming the pattern to be amply visible, the user may tend to position the 2-D barcode horizontally under a scan lamp. However, it would be ideal if no aligning is required. For example, a 2-D barcode may have been a photocopy vertically aligned onto a page. Upon scanning, the user may first subconsciously attempt to present the page horizontally, and thus present the barcode vertically. Without ability by the scanner to instantaneously sense barcode orientation, and then position a raster pattern to scan it, the user will be forced to realign the page vertically.
Following alignment of the scan pattern to the barcode, the pattern is then increased in width so as to fully span the length of the barcode, and if the pattern is determined to be a 2-D barcode, the height of the scan pattern is also increased so an to decode all of the barcode rows. However, the rate at which the raster pattern is increased in size is fixed and independent of the size of the barcode or the distance between the hand-held scanner and target. At a common rate of pattern size increase, depending upon the size of the barcode it may require from 0.1 to 2.0 seconds to open the scan pattern and decode the barcode. Distance to the target is another factor. Pattern size is incremented until the entire pattern is decoded. The size of each increment of increase in determined in part by the working range of the scanner. Very long range scanners, usable up to sixty feet, for example, may require smaller increments so that the patterns do not grow too fast at the end of a working range where much of the information, including start and stop codes, concerning attributes of the barcode resides. Hence, it would be desirable to control the rate at which the scan pattern grows to decode the barcode depending upon the characteristics of the barcode itself.
The scanner unit must be compact, energy efficient, and capable of scanning both 1-D and 2-D barcodes. The unit preferably will also be convertible between hand and surface support applications. The scan pattern will preferably be optimized in accordance with whether the unit is in hand hold or surface supported modes of operation, whether it is in a presentation type of operation (wherein the indicia are passed under a scan lamp) or a pass through type of operation (supermarket type) and on the type of barcode or other indicia to be read.